--设置定时器
time = os.time();

--初始化
init("0",0);

mSleep(3000);
--来电暂停
luaExitIfCall(true);

--初始化日志
initLog("自动脚本1", 0)

--这里用来记录删除到第几条
delNum = 0

--点击函数
function click(n,x,y)
	mSleep(500);
	touchDown(n,x,y);  
	mSleep(50);
	touchUp(n,x,y);
	mSleep(500);
end

function timeOut()
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		if os.time()-time>300 then
			lua_restart();
		end
end

--清理后台
function cleanAll()
	
	--新方法
	closeApp("*",1);
	wLog("自动脚本1", "[DATE] 清理后台");
	
end

function clickColor(x,y,color)
	
	if isColor(x, y, color,90) then
			mSleep(500);
			click(1,x, y);
			mSleep(1500);
		end   
end 

function movettoo(n,x,y,a,b)
	-- body
	touchDown(n, x, y); --在坐标 (150, 550)按下
	mSleep(80);
	touchMove(n, a, b); --移动到坐标 (150, 600)，注意一次滑动的坐标间隔不要太大，不宜超过50像素
	mSleep(80);
	touchUp(n, a, b);   --在坐标 (150, 600) 抬起
end

--颜色模糊判断
function isColor(x,y,c,s)   --封装函数，函数名 isColor
    local fl,abs = math.floor,math.abs
    s = fl(0xff*(100-s)*0.01)
    local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
    local rr,gg,bb = getColorRGB(x,y)
    if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
        return true
    end
end

--点击home键
function home()
	mSleep(500);
	--按下home键退出
	pressHomeKey(0);    --按下 Home 键
	mSleep(50);
	pressHomeKey(1);    --抬起 Home 键
	mSleep(500);
end

function show()
	local sz = require("sz")
	local json = sz.json
	local w,h = getScreenSize();
	MyTable = {
		["style"] = "default",
		["width"] = w,
		["height"] = h,
		["config"] = "save_001.dat",
		["timer"] = 30,
		views = {
			{
				["type"] = "Label",
				["text"] = "操作设置",
				["size"] = 25,
				["align"] = "center",
				["color"] = "0,0,255",
			},
--			{
--				["type"] = "RadioGroup",                     --单选框，input1
--				["list"] = "选项1,选项2,选项3,选项4,选项5,选项6,选项7",--7个单选项，序号从0开始，即选项1编号为0，选项2编号为1，依此类推
--				["select"] = "1",                    --默认选择选项2
--			},
			{
				["type"] = "Edit",        --输入框，input2
				["prompt"] = "请输入总记录条数",--编辑框中无任何内容时显示的底色文本
				["text"] = "1",        --界面载入时已经存在于编辑框中的文本
			},
			{
				["type"] = "CheckBoxGroup",                  --多选框，input3
				["list"] = "手动选择开始记录",--7个多选项
				["select"] = "",                        --默认选择选项3和选项5
			},
--			{
--				["type"] = "ComboBox",                       --下拉框，input4
--				["list"] = "选项1,选项2,选项3,选项4,选项5,选项6,选项7",--7个下拉选项，序号从0开始，即选项1编号为0，选项2编号为1，依此类推
--				["select"] = "1",                       --默认选择选项2
--			},
		}
	}
	local MyJsonString = json.encode(MyTable);
	ret, input1, input2, input3, input4 = showUI(MyJsonString);--返回值ret, input1, input2, input3, input4
--	dialog(ret, 2)
--	dialog(input1, 2)
	arr = {ret,input1,input2};
	return arr
end

--参数说明，n:就是click里面的第一个n（随便给），从a&b坐标移动到x&y坐标，点击del1&del2坐标删除，num记录总条数的一半向下取整
function moveAndDel(n,a,b,x,y,del1,del2,num)
	mSleep(1000)
	movettoo(n,a,b,x,y);
	mSleep(1000)
	click(n,del1,del2);
	mSleep(1000)
	--点击删除后判定是否删除结束
	while (true) do
		if isColor(318,  539,0xffffff,90) then
			break
		end
		mSleep(1000)
	end
	--当前删除的记录自加一
	delNum=delNum + 1;
	--判定是否到达删除的指定条数
	if (delNum >= num) then
		--删除结束
		dialog("记录隔行清理完毕", 3000)
		lua_exit();
	end
end

function delMemory()
	array = show();
--	dialog(array[1], 2)
--	dialog(array[2], 2)
--	dialog(array[3], 2)
	if (array[1]) then
		--向下取整
		num = math.floor(array[2]/2);
		mSleep(2000)
		
		--启动应用
		openURL("IGG://cmd/open");
		mSleep(2000)
		
		--生效最后一条记录 
		openURL("IGG://cmd/activelastrecord");
		mSleep(3000)
		
		--下一条记录
		openURL("IGG://cmd/nextrecord");
		mSleep(3000)
		
		if(array[3] == "0") then
			dialog("这里会等待30s，请手动选择开始的第一条记录 ，并移动到开头", 5)
			mSleep(30000)
		end
		
		--判断是否进入备份管理
		while (true) do
			if isColor(412, 1091, 0xff0080, 90) then
				break
			end
			mSleep(1000)
		end
		
		--开始进入循环删除
		while (true) do
			moveAndDel(1,562,  274,  160,  270,  410,  276,num)
			
--			moveAndDel(1,556,  374,  186,  366,  406,  372,num)
			
--			moveAndDel(1,560,  476,  184,  474,  404,  470,num)
			
--			moveAndDel(1,568,  566,  176,  564,  400,  564,num)
			
--			moveAndDel(1,568,  674,  180,  674,  412,  670,num)
			
--			moveAndDel(1,558,  764,  182,  766,  406,  768,num)
			
--			moveAndDel(1,562,  880,  176,  870,  406,  878,num)
			
--			moveAndDel(1,562,  972,  180,  978,  402,  974,num)
			
			mSleep(1000)
			--操作两行，进行滑动
			touchDown(1, 363,  427); 
			mSleep(400);
			touchMove(1, 363,  307); 
			mSleep(2000);
			touchUp(1, 363,  307);
			mSleep(1000)

		end
		
		
	end
end

function main()
	home()
	cleanAll()
	delMemory()
end

main()